/*
 * @Author: tom
 * @Date: 2022-10-28 10:59:23
 * @LastEditors: 阿航
 * @LastEditTime: 2022-10-31 10:56:55
 * @FilePath: \shop\src\store\modules\user.js
 */

import {getToken, setToken, removeToken} from '../../utils/auth'
import {defineStore} from 'pinia'

import {loginApi} from '../../api/login'
import {useRouter} from 'vue-router'

// const router = useRouter()
const useUserStore = defineStore({
  id: 'user',
  state: () => ({
    token: getToken() || '', // 因为接口简单只有返回token 其他信息可以在这里加

    userInfo: '',
  }),

  actions: {
    // 登录
    login(loginData) {
      return new Promise((resolve, reject) => {
        // 这里要返回一个promise 因为登录成功以后还需要跳转去做同步操作
        // if (loginData.userName !== '' && loginData.password !== '') {
        loginApi(loginData)
          .then((res) => {
            console.log(res)
            this.token = res.data
            setToken(res.data)
            resolve(res.data)
          })
          .catch((error) => {
            reject(error)
          })
      })
    },

    // 退出登录
    logout() {
      removeToken('token')
    },

    // 获取管理员信息
    userInfoHandle() {
      return new Promise((resolve, reject) => {
        getUserInfo().the((res) => {
          console.log(res)
          this.userInfo = res.data
        })
      })
    },
  },
})

export default useUserStore
